package com.binarytree;

public class BinaryTreeDemo {

    public static void main(String[] args) {
        //创建二叉树
        BinaryTree binaryTree = new BinaryTree();
        //创建需要的节点
        HeroNode root = new HeroNode(1, "宋江");
        HeroNode node2 = new HeroNode(2, "吴用");
        HeroNode node3 = new HeroNode(3, "卢俊义");
        HeroNode node4 = new HeroNode(4, "林冲");
        HeroNode node5 = new HeroNode(5, "关胜");
        // 加入树
//        root.setLeft(node2);
//        root.setRight(node3);
//        node3.setRight(node4);
//        node3.setLeft(node5);
//        binaryTree.setRoot(root);

//
//        System.out.println("中序遍历，预计结果：2，1，5，3，4");
//        binaryTree.infixOrder();
//
//        System.out.println("后序遍历，预计结果：2，5，4，3，1");
//        binaryTree.postOrder();
        // 加入树
        root.setLeft(node2);
        root.setRight(node3);
        node3.setRight(node4);
        node3.setLeft(node5);
        binaryTree.setRoot(root);

        System.out.println("删除前前序遍历：");
        binaryTree.preOrder();
        binaryTree.deleteNode(5);
        System.out.println("删除5号结点后前序遍历：");
        binaryTree.preOrder();
        binaryTree.deleteNode(3);
        System.out.println("删除3号结点后前序遍历：");
        binaryTree.preOrder();
//        System.out.println("前序遍历，预计统计次数：4 ===> 查找顺序 1，2，3，5，4");
//        System.out.println(binaryTree.preOrderSearch(5));
//
//        System.out.println("中序遍历，预计统计次数：3 ===》 查找顺序 2，1，5，3，4");
//        System.out.println(binaryTree.infixOrderSearch(5));
////
//        System.out.println("后序遍历，预计统计次数：2 ===》 查找顺序 2,5, 4,3,1");
//        System.out.println(binaryTree.postOrderSearch(5));
    }
}
